package main

import (
	"fmt"
	"regexp"
)

func shouldReplace(input string) string {
	// shouldReplace 函数接收一个输入字符串，并返回替换后的路径。
	if replaceStr == "" {
		fmt.Println("替换前缀未设置")
		return input
	}
	query := NewQuery()
	htmlStr, dodStr := query.GetConfig()
	//表示删除文件
	if replaceStr == htmlStr {
		regex := `^(http|https)://(www\.)?([a-zA-Z0-9.-]+(?:\.[a-zA-Z]{2,})+)(/.*)?$`
		re := regexp.MustCompile(regex)

		matches := re.FindStringSubmatch(input)
		if matches != nil && len(matches) >= 5 {
			// 构建新的路径，不包含协议部分
			newPath := fmt.Sprintf("%s%s", replaceStr, matches[4])
			return "/" + newPath
		}

		return input
	}
	if replaceStr == dodStr {
		return replaceStr + "/" + removeProtocol(input)
	}
	return ""
}

func removeProtocol(input string) string {
	// 定义正则表达式，用于匹配 http:// 或 https://
	regex := `^(http|https)://`
	re := regexp.MustCompile(regex)
	// 直接使用 ReplaceAllString 方法将匹配到的内容替换为空字符串
	return re.ReplaceAllString(input, "")
}
